Organizations continually strive for improvement in their processes. However, such improvement is dependent on the extent of understanding of successful processes, including possible alternative processes and their interrelationships. Because there is little systematic theoretical or empirical foundation to assist understanding of processes, the development of improved processes is hindered.
Developing a systematic theoretical or empirical foundation for understanding processes involves developing a representation of processes, in combination with a method and system for viewing the representation, which enables one to compare alternative ways to perform a task, to compare a task to similar tasks and to judge which alternative processes are likely to be useful for accomplishing the task.
Much work is available concerning representation of computer processes. Processes for computer systems are commonly represented using flow charts, data flow diagrams, state transition diagrams (which define finite state machines, push down machines, or even Turing machines), Petri nets, and specialization.
A flow chart represents a process as a series of steps, with arrows between them, which represents an order in which the steps are to be performed. Some of the steps are decision points, so depending on the circumstances, different sets of steps might be performed. A data flow diagram is similar but represents how modules of a system are interconnected to perform the steps of a process but focuses on the ordering relationships imposed by the fact that data produced by some modules is used by other modules.
A state transition diagram represents a process in terms of the possible states of the system. The steps taken in the process are the transitions that move the system from one state to another. The most powerful representation which included a state transition diagram is a Turing machine, which can be used to describe any computer executing any computer program written in any computer programming language. A Petri net is similar to a finite state machine, but allows multiple states to be marked simultaneously. Transitions between states may be synchronized, since multiple states have to be marked at the same time for a particular transition to occur.
Significant developments have also been made in computer representation of objects, such as object-oriented systems. These systems rely on the concept of specialization which involves classifying specific objects into generic, more abstract classes from which they can inherit properties.
These representational paradigms for computer processes, although applicable to the representation of organizational processes lack the ability to model how processes are related and how processes may be dependent on each other in ways other than prerequisites or data flow type dependencies. More specifically, these paradigms have not been applied effectively in representing interrelationships of processes in a kind of computerized handbook which could be consulted to find a variety of alternative ways to perform particular processes, along with experience and guidelines about which alternatives work best in given situations.